10 REM********************************* 20 REM*************************************************************^ 30 REM********* 40 REM********* LOESUNGSVORSCHLAG ZU 50 REM********* SIGNALGENERATOR 60 REM********* UEBUNG a) 70 REM********* 80 REM********* GST 11/88 90 REM************************************************************** 100 REM ; 110 REM 120 REM ; 130 REM 140 GOSUB Var_init 150 GOSUB Ieee_inits HOLD 2000 160 GOSUB Dev_init: HOLD 2000 170 GOSUB Aenderung_index: HOLD 2000 180 GOSUB Aenderung_af 250 END 260 REM 270 REM 280 REM 290 REM 1000Var_init: REMm~----------------------------VARIABLENDEFINITION------------- 1010 PRINT "ESC2J": CLEAR 1020 Modind_l=SOs Modind_u=101 1030 Anf_af=15: Ober_af=101 1040 Freq_rf$="22M": Lev_rf$="-16DBM" 1060 Smh=28 1070 REM 1080 REM ' ; 1090 RETURN s REM----- 1100Ieee_init: REM----------------------BUS- INITIALISIERUNG----------- 1110 REM 1120 IEC IFC ,DCL .TERM 10,TIME 1000 1130 IEC OUT Smh,"*CLS;*HDR0;*ESE16;*SRE 32": REM *** Siehe Kommentar am Ende 1140 REM *** des Listings 1150 REM 1160 REM ' ; 1170 REM 1180 ON SRQ1 GOSUB Service 1190 RETURN s REM----- — 1200Dev_init: REM-----------------------------ANFANGSEINSTELLUNG--------- 1210 REM 1240 IEC OUT Smh,"RF "+Freq_rf$: REM *** ANFANGSEINSTELLUNGEN AM *** 1250 IEC OUT Smh,"L "+Lev_rf$: REM *** SMH DURCHFUEHREN *** 1260 IEC OUT Smh,"AF"+STR$ (Anf_af)+"KHZ" 1270 IEC OUT Smh,"AM:I"+STR$(Modind_l)+"%" 1280 REM 1290 RETURN : REM------------- 1300Aenderung_index: REM-----AEND. DES MODULATIONSINDEX 1310 REM 1320 FOR Index=Modind_l TO Modind_u 1325 HOLD 100 1330 IEC OUT Smh,"AM: I"+STR$(Index)+"%" 1340 NEXT 1350 RETURN : REM------------ 1400Aenderung_af: REM----AEND. DER MODULATIONSFREQ. 1410 REM 1420 FOR Af=Anf_af TO Ober_af 1425 HOLD 100 1430 IEC OUT Smh,"AF"+STR$(Af)+"KHZ" 1440 NEXT 1450 RETURN : REM------ 200DService: REM-----—-----—------SRQ- R0UTINE 2010 IEC SPL Smh,Stat% 2020 IF (Stat% AND 64) =0 THEN PRINT "ANDERER FEHLER": RETURN 2030 IEC OUT Smh,"*ESR?" 2040 IEC IN Smh,E$ 2050 E%= VAL(E$) 2060 IF (E%. AND 16)<>0 THEN PRINT "EINGABEFEHLER" ; Af 2070 ON SRQ1 GOSUB Services RETURN : REM--- 2080 REM ******************************************* 2090 REM 2100 REM In der Zeile 1130 wird folgendes durchgefuehrts 2110 REM *CLS = Ruecksetzen des SMH in allen Funktionen 2120 REM *HDR0 = Veranlassung, dass die Werte ohne Alphaheader uebertraqen 2130 REM werden 2140 REM *ESE = Maskierung des ESR- Registers mit 00010000 = dez. 16, was 2150 REM das Erlauben einer Eingabefehlermeldung durch Service 2160 REM Request bedeutet, (Hervorgerufen durch Ueberschreiten 2170 REM der zulaesssigen Bereiche fuer Mod.index und AF) 2180 REM *SRE = Maskierung des Service Request- Registers mit dem Muster 2190 REM 00100000 = dez. 32, Dadurch wird nach dem Ausloesen eines 2200 REM SRQ nicht nur das RQS- Bit im Statusbyte ausgewertet 2210 REM sondern auch -je nach Maskierung- das ESR- Register. 2220 REM 2230 REM 2240 REM In Zeile 2010 wird ÖBr Serial Poll durchgefuehrt. Falls das RQS- Bit 2250 REM nicht gesetzt ist, soll die Meldung -"Anderer Fehler"- ausgegeben wer- 2260 REM den- Wurde das RQS- Bit gesetzt, wird ab Zeile 2030 d&r Inhalt des 2270 REM des ESR- Registers bereitgestellt und ueber d&n Bus uebertragen. 2280 REM 2290 REM 2300 REM Nach Pruefung des Inhalts von ESR auf Eingabefehler («gesetztes Bit 2310 REM an der Stelle 2^4 oder des» 16 ), wird die entsprechende Meldung aus- 2320 REM gegeben und der SRQ wieder "scharf gemacht1'. 2330 REM 2340 REM *****************************************